-----BEGIN PGP SIGNED MESSAGE-----

=============================================================================
FreeBSD-SA-96:16					    Security Advisory
Revised: Fri Jul 12 09:32:53 PDT 1996				FreeBSD, Inc.

Topic:		security vulnerability in rdist

Category:	core
Module:		rdist
Announced:	1996-07-12
Affects:	FreeBSD 2.0, 2.0.5, 2.1, 2.1-stable, and 2.2-current
Corrected:	2.1-stable and 2.2-current as of 1996-07-11
Source:		4.4BSD (lite)
FreeBSD only:	no

Patches:	ftp://freebsd.org/pub/CERT/patches/SA-96:16/
Reference:	[8lgm]-Advisory-26.UNIX.rdist.20-3-1996

=============================================================================

I.   Background    

     A bug was found in the BSD rdist utility which can allow
     an unprivileged local user to gain unauthorized access.
     This problem is present in all source code and binary
     distributions of FreeBSD version 2.x released before 1996-07-12.

     rdist has been the subject of security vulnerabilities in the past.
     This is a newly discovered vulnerability not related to previous
     race conditions fixed in rdist.


II.  Problem Description

     rdist creates an error message based on a user provided string,        
     without checking bounds on the buffer used.  This buffer is            
     on the stack, and can therefore be used to execute arbitrary           
     instructions.


III. Impact

     This vulnerability can allow a local user to obtain superuser
     privileges.  It may only be exploited by users with a valid
     account on the local system.  It is present in almost all BSD
     derived operating systems with a "setuid" rdist program.


IV. Workaround

     The rdist program must be setuid root to function properly.
     This vulnerability can be eliminated by making rdist not
     executable by unprivileged users.  Since this limits the
     usefulness of the program, a software update is advised.

     This workaround will work for all versions of FreeBSD affected
     by this problem.
     
     As root, execute the commands:

	# chflags noschg /usr/bin/rdist
	# chmod u-s,go-rx /usr/bin/rdist

     then verify that the setuid permissions of the files have been
     removed.  The permissions array should read "-r-x------" as
     shown here:

	# ls -l /usr/bin/rdist
	-r-x------  1 root  bin  49152 Jun 16 10:46 rdist


V. Solution(s)

     Apply the available via FTP from the patch directory noted
     at the top of this message.  Recompile, and reinstall the
     rdist program.  This patch is known to apply to all
     FreeBSD 2.x systems, it has not been tested with FreeBSD 1.x.

     The [8lgm] organization correctly points out that this program
     does not have a particularly good security "history."  While
     the patch for this vulnerability does solve this particular
     problem, it's not clear if other security issues involving rdist
     will appear in the future.

     Administrators should consider whether it is appropriate to
     remove the standard rdist program and upgrade to rdist
     version 6, which is available as a FreeBSD port.

     FreeBSD, Inc. has not replaced the standard BSD rdist with
     the newer code because the new rdist is not protocol-compatible
     with the original version.


=============================================================================
FreeBSD, Inc.

Web Site:			http://www.freebsd.org/
Confidential contacts:		security-officer@freebsd.org
PGP Key:			ftp://freebsd.org/pub/CERT/public_key.asc
Security notifications:		security-notifications@freebsd.org
Security public discussion:	security@freebsd.org

Notice: Any patches in this document may not apply cleanly due to
        modifications caused by digital signature or mailer software.
        Please reference the URL listed at the top of this document
        for original copies of all patches if necessary.
=============================================================================

-----BEGIN PGP SIGNATURE-----
Version: 2.6.2

iQCVAwUBMeaC1FUuHi5z0oilAQHtzQP/U1f9y0R+upwCs5IFeBCUBVkFWUeJ/Wwb
CJPFmsBr54quI6Aie/LXa/Qw8EdrL54GIiNDZYkAzb9XvWOehOsmtoYN4oj0JAbJ
lesq746xOEfNMtpL866T8dxJRTsK98VMSaZK5IU8fVpVYUURcVDv+y+bqfL72Mst
3ajof2ieNxE=
=j2z5
-----END PGP SIGNATURE-----
